package com.guigu.eduservice.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 业务员表（含检测评估师，负责设备检测、求购跟进）
 * </p>
 *
 * @author janecraft
 * @since 2025-09-27
 */
@Data
public class Businessman implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 业务员（评估师）唯一标识
     */
    @TableId(value = "businessman_id", type = IdType.AUTO)
    private Long businessmanId;

    /**
     * 业务员姓名
     */
    private String name;

    /**
     * 关联操作员表operator的主键（唯一，实现业务员与操作员账号关联）
     */
    private Long operatorId;

    /**
     * 手机号（唯一，用于接收任务通知、联系客户）
     */
    private String phone;

    /**
     * 加密后的密码（业务员登录小程序员工端使用）
     */
    private String password;

    /**
     * 所属部门（如检测部、销售部）
     */
    private String department;

    /**
     * 负责区域（如华东地区、广东省，用于任务就近分配）
     */
    private String responsibleArea;

    /**
     * 账号状态（0-禁用，1-启用；禁用后无法登录小程序员工端）
     */
    private int status;

    /**
     * 记录创建时间
     */
    @TableField(value = "create_time" ,fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 记录更新时间
     */
    @TableField(value = "update_time" ,fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


    //每个业务员分配设备的数量字段
    @TableField(exist = false)
    private Integer  fenPeiTotal;

    //每个业务员的成交设备数量
    @TableField(exist = false)
    private Integer  chengJiaoTotal;

    // 每个业务员的订单总金额
    @TableField(exist = false)
    private Double  dingDanTotal;

    //成单率
    @TableField(exist = false)
    private Integer  chengDan;
}
